import java.util.Stack;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-02-03
 * Time: 20:49
 */
public class Solution {
//     栈
//     遇到运算符 弹出两个数字 计算出结果之后 重新放回栈中
//     遇到数字直接放到栈中
    public int evalRPN(String[] tokens) {
        Stack<Integer> stack=new Stack<>();
        for(String str: tokens){
            if(isNumber(str)){
                stack.push(Integer.parseInt(str));
            }else{
                int a=stack.pop();
                int b=stack.pop();
                switch(str){
                    case "+":stack.push(b+a);
                        break;
                    case "-":stack.push(b-a);
                        break;
                    case "*":stack.push(b*a);
                        break;
                    case "/":stack.push(b/a);
                        break;
                }
            }
        }
        return stack.pop();
    }
    public boolean isNumber(String str){
        return !("+".equals(str)||"-".equals(str)||"*".equals(str)||"/".equals(str));
    }
}
